import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import styleImport from 'vite-plugin-style-import'
import px2rem from 'postcss-plugin-px2rem';
import vueSetupExtend from 'vite-plugin-vue-setup-extend';

const px2remOpts = {
    rootValue: 37.5,
};
// https://vitejs.dev/config/
export default defineConfig({
    base: './',
    // devServer: {
    //     proxy: {
    //         '/api': {
    //             target: 'http://10.200.90.67:9000',
    //             changeOrigin: true,
    //             pathRewrite: {
    //                 '^/api': ''
    //             }
    //         }
    //     }
    // },
    plugins: [
        vue(), // 支持单文件方式  .vue
        vueJsx(), // 支持tsx方式  .tsx
        vueSetupExtend(), // 支持在script标签上定义组件name
        styleImport({
            // 支持 vant 的按需引入样式
            libs: [
                {
                    libraryName: 'vant',
                    esModule: true,
                    resolveStyle: (name) => `vant/es/${name}/style`,
                },
            ],
        }),
    ],
    resolve: {
        alias: {
            '@': '/src',
        },
    },
    css: {
        preprocessorOptions: {
            scss: {
                // dart sass 不允许使用 / 做为除号，需要使用 math 函数，所以按照以下方式引入 sass 的 math 模块使用
                additionalData: `@use "sass:math"; @import "@/styles/variables.scss";`,
            },
        },
        postcss: [px2rem(px2remOpts)],
    },
})
